package battleco

import "wails/schema/enums/battleenum"

// 位置相同，标识相同可以共享充能
// @schema_export --ident=schema --json --config=充能
// @schema_go
// @cache_ts
// @alias 充能
type C充能 struct {
	// @alias 使用所在配置编号
	S使用所在配置编号 bool

	// @alias 最大
	// 充能的最大数
	Z最大值 float64

	// @alias 初始值
	// 充能的初始次数
	C初始值 float64

	// @alias 位置
	// 充能位置 。
	W位置 battleenum.ChargeLocation

	// @alias 启用时间
	// 表示世界开始后，世界时间超过设定的[启用时间]后，能量才开始充能
	Q启用时间 float64

	// @alias 充能时间
	// 充能一次需要的时间
	L充能时间 float64

	// 每次充能恢复的量
	// 少于0标识完全恢复
	// @alias 回复量
	H回复量 float64

	// 启用时执行的效果
	// @alias 启用效果
	Q启用效果 string `link:"效果"`

	// 耗尽充能时执行的效果
	// @alias 耗尽效果
	H耗尽效果 string `link:"效果"`

	// @alias 耗尽表现
	H耗尽表现 map[string]string `link:"表现"`

	// 充满能量时执行的效果
	// @alias 充满效果
	C充满效果 string `link:"效果"`

	// @alias 充满表现
	C充满表现 map[string]string `link:"表现"`
}

// 位置相同，标识相同可以共享冷却
// @schema_export --ident=schema --json --config=冷却
// @schema_go
// @cache_ts
// @alias 冷却
type C冷却 struct {
	// @alias 标识
	B标识 string

	// @alias 位置
	// 该冷却时间被应用到的位置。
	W位置 battleenum.CooldownLocation

	// @alias 启用时间
	// 表示世界开始后，世界时间超过设定的[启用时间]后，才能使用技能
	Q启用时间 float64

	// 启用时执行的效果
	// @alias 启用效果
	Q启用效果 string `link:"效果"`

	// 表示使用技能后，消耗的时间，即冷却持续的时间
	// @alias 冷却时间
	L冷却时间 float64

	// 结束冷却时执行的效果
	// @alias 结束效果
	T结束效果 string `link:"效果"`
	// @alias 结束表现
	T结束表现 map[string]string `link:"表现"`
	// 开始冷却时执行的效果
	// @alias 开始效果
	K开始效果 string `link:"效果"`

	// @alias 开始表现
	K开始表现 map[string]string `link:"表现"`
}
